Propshaft default for Rails 8, Guides updates, transaction.active_record events, and more! | This Week in Rails
https://world.hey.com/this.week.in.rails/propshaft-default-for-rails-8-guides-updates-transaction-active_record-events-and-more-7745f4d8
Rails World - 2024
Rails World 2024のスピーカーが公開された、というお知らせです
This Week in Railsを読み始めてからよく見るようになった方々がいて、なんだか親しみがわきました
Change asset pipeline default to Propshaft in Rails 8 by dhh · Pull Request #51799 · rails/rails · GitHub
Rails 8 からアセットパイプラインのデフォルトライブラリがPropshaftになります
PropshaftはRailsのアセットパイプライン用のライブラリです
詳しくはリポジトリのREADMEに記載があります https://github.com/rails/propshaft
やや古いですが日本語訳の記事「Propshaft gem README(翻訳)|TechRacho by BPS株式会社」もあります
Sprocketsのような従来のライブラリと比較して搭載する機能を厳選することで、シンプルかつ高速なアセットパイプラインを実現しています
SprocketsからPropshaftに移行する場合にはアップグレードガイド https://github.com/rails/propshaft/blob/main/UPGRADING.md を参照してください
PropshaftはSprocketsに比べて機能が少ないので移行の作業量は大きいかもしれません
移行したい場合はガイトに沿って進めるとよさそうです
Add a Rails Guide called "Tuning Performance for Deployment" (second version) by casperisfine · Pull Request #51924 · rails/rails · GitHub
Railsガイドに「Tuning Performance for Deployment」というページが追加されます
https://edgeguides.rubyonrails.org/tuning_performance_for_deployment.html
This guide assumes you are running MRI, the canonical implementation of Ruby also known as CRuby. If you're using another Ruby implementation such as JRuby or TruffleRuby, most of this guide doesn't apply. If needed, check sources specific to your Ruby implementation.
(このガイドでは、 CRuby としても知られる Ruby の標準実装であるMRIを実行していることを前提としています。JRuby や TruffleRuby などの別の Ruby 実装を使用している場合、このガイドの大部分は適用されません。必要に応じて、Ruby 実装に固有のソースを確認してください。)
このガイドはRailsのデフォルトのアプリケーションサーバーであるPumaのチューニング方法を主眼としています
Pumaの重要なパフォーマンス設定、および、パフォーマンステストの実施方法について解説しています
Add ActiveRecord::Relation#readonly? by theodorton · Pull Request #51371 · rails/rails · GitHub
ActiveRecordに関する変更です
ActiveRecordに readonly? というメソッドがあります
https://api.rubyonrails.org/classes/ActiveRecord/Core.html#method-i-readonly-3F
readonlyなレコードの場合にtrueを返すメソッドです
code:rb
users = User.readonly.where(active: true)
user = users.first
user.readonly? # => true
今回のプルリクエストでは ActiveRecord::Relation に対して readonly? メソッドを追加しています
code:rb
users = User.readonly.where(active: true)
users.readonly? # => true (これまでこのメソッドがなかった)
user = users.first
user.readonly? # => true